@echo off

:: 项目初始化脚本
:init
    echo 安装项目依赖...
    npm install
    if errorlevel 1 (
        echo 安装依赖失败，尝试使用pnpm...
        pnpm install
        if errorlevel 1 (
            echo 安装依赖失败，请检查网络连接或npm配置。
            exit /b 1
        )
    )
    echo 安装husky...
    npm run prepare
    goto menu

:: 开发环境
:dev
    echo 启动开发服务器...
    npm run dev
    goto menu

:: 测试环境构建
:build-test
    echo 构建测试环境...
    npm run build:test
    goto menu

:: 生产环境构建
:build-pro
    echo 构建生产环境...
    npm run build:pro
    goto menu

:: 预览构建结果
:preview
    echo 预览构建结果...
    npm run preview
    goto menu

:: 代码格式化
:format
    echo 格式化代码...
    npm run format
    goto menu

:: 代码检查
:lint
    echo 运行代码检查...
    npm run lint
    goto menu

:: 修复代码问题
:fix
    echo 修复代码问题...
    npm run fix
    echo 修复样式问题...
    npm run lint:style
    goto menu

:: 菜单
:menu
    cls
    echo ============= 项目脚本菜单 =============
    echo 1. 初始化项目（安装依赖）
    echo 2. 启动开发服务器
    echo 3. 构建测试环境
    echo 4. 构建生产环境
    echo 5. 预览构建结果
    echo 6. 格式化代码
    echo 7. 运行代码检查
    echo 8. 修复代码问题
    echo 0. 退出
    echo ========================================
    set /p choice=请选择操作: 
    if "%choice%"=="1" goto init
    if "%choice%"=="2" goto dev
    if "%choice%"=="3" goto build-test
    if "%choice%"=="4" goto build-pro
    if "%choice%"=="5" goto preview
    if "%choice%"=="6" goto format
    if "%choice%"=="7" goto lint
    if "%choice%"=="8" goto fix
    if "%choice%"=="0" exit /b 0
    echo 无效的选择，请重试。
    pause
    goto menu

:: 启动菜单
goto menu